/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.mad.bikepony.model;

import com.liferay.portal.kernel.bean.AutoEscape;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;

import java.io.Serializable;

/**
 * The base model interface for the Delivery service. Represents a row in the &quot;bp_delivery&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This interface and its corresponding implementation {@link com.mad.bikepony.model.impl.DeliveryModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link com.mad.bikepony.model.impl.DeliveryImpl}.
 * </p>
 *
 * @author nicola
 * @see Delivery
 * @see com.mad.bikepony.model.impl.DeliveryImpl
 * @see com.mad.bikepony.model.impl.DeliveryModelImpl
 * @generated
 */
public interface DeliveryModel extends BaseModel<Delivery> {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this interface directly. All methods that expect a delivery model instance should use the {@link Delivery} interface instead.
	 */

	/**
	 * Returns the primary key of this delivery.
	 *
	 * @return the primary key of this delivery
	 */
	public long getPrimaryKey();

	/**
	 * Sets the primary key of this delivery.
	 *
	 * @param primaryKey the primary key of this delivery
	 */
	public void setPrimaryKey(long primaryKey);

	/**
	 * Returns the delivery ID of this delivery.
	 *
	 * @return the delivery ID of this delivery
	 */
	public long getDeliveryId();

	/**
	 * Sets the delivery ID of this delivery.
	 *
	 * @param deliveryId the delivery ID of this delivery
	 */
	public void setDeliveryId(long deliveryId);

	/**
	 * Returns the delivery code of this delivery.
	 *
	 * @return the delivery code of this delivery
	 */
	@AutoEscape
	public String getDeliveryCode();

	/**
	 * Sets the delivery code of this delivery.
	 *
	 * @param deliveryCode the delivery code of this delivery
	 */
	public void setDeliveryCode(String deliveryCode);

	/**
	 * Returns the tracking code of this delivery.
	 *
	 * @return the tracking code of this delivery
	 */
	@AutoEscape
	public String getTrackingCode();

	/**
	 * Sets the tracking code of this delivery.
	 *
	 * @param trackingCode the tracking code of this delivery
	 */
	public void setTrackingCode(String trackingCode);

	/**
	 * Returns the sender address of this delivery.
	 *
	 * @return the sender address of this delivery
	 */
	@AutoEscape
	public String getSenderAddress();

	/**
	 * Sets the sender address of this delivery.
	 *
	 * @param senderAddress the sender address of this delivery
	 */
	public void setSenderAddress(String senderAddress);

	/**
	 * Returns the sender additional info of this delivery.
	 *
	 * @return the sender additional info of this delivery
	 */
	@AutoEscape
	public String getSenderAdditionalInfo();

	/**
	 * Sets the sender additional info of this delivery.
	 *
	 * @param senderAdditionalInfo the sender additional info of this delivery
	 */
	public void setSenderAdditionalInfo(String senderAdditionalInfo);

	/**
	 * Returns the sender email of this delivery.
	 *
	 * @return the sender email of this delivery
	 */
	@AutoEscape
	public String getSenderEmail();

	/**
	 * Sets the sender email of this delivery.
	 *
	 * @param senderEmail the sender email of this delivery
	 */
	public void setSenderEmail(String senderEmail);

	/**
	 * Returns the recipient address of this delivery.
	 *
	 * @return the recipient address of this delivery
	 */
	@AutoEscape
	public String getRecipientAddress();

	/**
	 * Sets the recipient address of this delivery.
	 *
	 * @param recipientAddress the recipient address of this delivery
	 */
	public void setRecipientAddress(String recipientAddress);

	/**
	 * Returns the recipient additional info of this delivery.
	 *
	 * @return the recipient additional info of this delivery
	 */
	@AutoEscape
	public String getRecipientAdditionalInfo();

	/**
	 * Sets the recipient additional info of this delivery.
	 *
	 * @param recipientAdditionalInfo the recipient additional info of this delivery
	 */
	public void setRecipientAdditionalInfo(String recipientAdditionalInfo);

	/**
	 * Returns the recipient email of this delivery.
	 *
	 * @return the recipient email of this delivery
	 */
	@AutoEscape
	public String getRecipientEmail();

	/**
	 * Sets the recipient email of this delivery.
	 *
	 * @param recipientEmail the recipient email of this delivery
	 */
	public void setRecipientEmail(String recipientEmail);

	/**
	 * Returns the state of this delivery.
	 *
	 * @return the state of this delivery
	 */
	public int getState();

	/**
	 * Sets the state of this delivery.
	 *
	 * @param state the state of this delivery
	 */
	public void setState(int state);

	/**
	 * Returns the agent ID of this delivery.
	 *
	 * @return the agent ID of this delivery
	 */
	public long getAgentId();

	/**
	 * Sets the agent ID of this delivery.
	 *
	 * @param agentId the agent ID of this delivery
	 */
	public void setAgentId(long agentId);

	/**
	 * Returns the submission timestamp of this delivery.
	 *
	 * @return the submission timestamp of this delivery
	 */
	public long getSubmissionTimestamp();

	/**
	 * Sets the submission timestamp of this delivery.
	 *
	 * @param submissionTimestamp the submission timestamp of this delivery
	 */
	public void setSubmissionTimestamp(long submissionTimestamp);

	/**
	 * Returns the pickup timestamp of this delivery.
	 *
	 * @return the pickup timestamp of this delivery
	 */
	public long getPickupTimestamp();

	/**
	 * Sets the pickup timestamp of this delivery.
	 *
	 * @param pickupTimestamp the pickup timestamp of this delivery
	 */
	public void setPickupTimestamp(long pickupTimestamp);

	/**
	 * Returns the delivery timestamp of this delivery.
	 *
	 * @return the delivery timestamp of this delivery
	 */
	public long getDeliveryTimestamp();

	/**
	 * Sets the delivery timestamp of this delivery.
	 *
	 * @param deliveryTimestamp the delivery timestamp of this delivery
	 */
	public void setDeliveryTimestamp(long deliveryTimestamp);

	/**
	 * Returns the recipient signature of this delivery.
	 *
	 * @return the recipient signature of this delivery
	 */
	@AutoEscape
	public String getRecipientSignature();

	/**
	 * Sets the recipient signature of this delivery.
	 *
	 * @param recipientSignature the recipient signature of this delivery
	 */
	public void setRecipientSignature(String recipientSignature);

	/**
	 * Returns the estimated pickup time of this delivery.
	 *
	 * @return the estimated pickup time of this delivery
	 */
	public long getEstimatedPickupTime();

	/**
	 * Sets the estimated pickup time of this delivery.
	 *
	 * @param estimatedPickupTime the estimated pickup time of this delivery
	 */
	public void setEstimatedPickupTime(long estimatedPickupTime);

	/**
	 * Returns the estimated delivery time of this delivery.
	 *
	 * @return the estimated delivery time of this delivery
	 */
	public long getEstimatedDeliveryTime();

	/**
	 * Sets the estimated delivery time of this delivery.
	 *
	 * @param estimatedDeliveryTime the estimated delivery time of this delivery
	 */
	public void setEstimatedDeliveryTime(long estimatedDeliveryTime);

	public boolean isNew();

	public void setNew(boolean n);

	public boolean isCachedModel();

	public void setCachedModel(boolean cachedModel);

	public boolean isEscapedModel();

	public Serializable getPrimaryKeyObj();

	public void setPrimaryKeyObj(Serializable primaryKeyObj);

	public ExpandoBridge getExpandoBridge();

	public void setExpandoBridgeAttributes(ServiceContext serviceContext);

	public Object clone();

	public int compareTo(Delivery delivery);

	public int hashCode();

	public CacheModel<Delivery> toCacheModel();

	public Delivery toEscapedModel();

	public String toString();

	public String toXmlString();
}